// 导入基础API配置
const api = require('./api.js');

/**
 * 更新用户信息
 * @param {number} userId - 用户ID
 * @param {Object} userInfo - 用户信息对象
 * @param {string} [userInfo.nickName] - 昵称
 * @param {string} [userInfo.avatarUrl] - 头像URL
 * @param {string} [userInfo.gender] - 性别
 * @param {string} [userInfo.city] - 城市
 * @param {string} [userInfo.province] - 省份
 * @param {string} [userInfo.country] - 国家
 * @param {string} [userInfo.language] - 语言
 * @returns {Promise} - 返回更新结果
 */
const updateUserInfo = (userId, userInfo) => {
  // 构建请求路径，使用用户ID作为路径参数
  const url = `/users/${userId}`;
  
  // 调用patch请求更新用户信息
  return api.patch(url, userInfo)
    .then(response => {
      console.log('更新用户信息成功:', response);
      return response;
    })
    .catch(error => {
      console.error('更新用户信息失败:', error);
      throw error;
    });
};

/**
 * 获取用户信息
 * @param {number} userId - 用户ID
 * @returns {Promise} - 返回用户信息
 */
const getUserInfo = (userId) => {
  const url = `/users/${userId}`;
  
  return api.get(url)
    .then(response => {
      console.log('获取用户信息成功:', response);
      return response;
    })
    .catch(error => {
      console.error('获取用户信息失败:', error);
      throw error;
    });
};

// 导出用户API方法
module.exports = {
  updateUserInfo,
  getUserInfo
};